Method and node for using a communication network in parallel for real-time applications and non-real-time applications

ABSTRACT

The invention concerns a data transmission technique for real-time applications and non real-time applications in a communication network comprising several nodes connected by communication channels. The invention is characterized in that the data are cyclically and deterministically transmitted, the data for the real-time applications being processed in priority, such that, during one transmission cycle, all the data for the real-time applications are first sent, then, in the time interval remaining prior to the next transmission cycle, the data for non real-time applications are sent.

This application is the national phase under 35 U.S.C. § 371 of PCTInternational Application No. PCT/EP2003/011705, which has aninternational filing date of Oct. 22, 2003 and which designated theUnited States of America.

Ethernet is the most widely disseminated technology with which data canbe transferred in local data communications networks known as local areanetworks (LAN), currently at a speed of up to 100 million bits/sec(Mbps). LANs are local communications networks that are limited to onegeographical area and are composed of one or more servers andworkstations, known as nodes, which are connected via a communicationsline network such as a coaxial, fiber-optic or twisted pair cable. Agreat variety of network topologies are possible for LANs, with bus,ring, star or tree structures being the most widely known.

LANs are operated with a network operating system and a uniform networkprotocol. Ethernet represents one possible network protocol and supportsa wide variety of communications protocols such as the TCP/IP protocolor the IPX protocol. In the OSI layer model, the international referencemodel for data transfer in networks, which is constructed of a layerstack of seven layers, with a number of protocols defined for eachlayer, each providing their services to the next higher layer, Ethernetis assigned to the second layer, the so-called data link layer. In thisline layer, the data to be transferred is bundled into packets to whichspecific information for the respective communications protocol isadded. The data link layer is responsible in the network fortransporting the packets from node to node and for error detection. Inthe Ethernet concept, the data link layer is subdivided into two planes,with the first plane adding an initial section, known as a header, whichcontains information that is needed by the receiver protocol for properdata transfer. In the second plane of the Ethernet protocol, the datapacket is then encapsulated with the aid of an additional header andanother end section, known as a trailer, for the transport of datapackets from node to node. With such Ethernet data packets, known asEthernet telegrams, data with a length of up to 1500 bytes can betransferred.

Ethernet protocols are predominantly employed in office communicationsnetworks. Because of the advantages of the Ethernet concept in the usageof standard hardware and software components, as well as the possibilityof achieving high data-transfer rates with a simple network topology,there is the desire to employ the Ethernet protocol for data exchangebetween workstations in industrial production as well. Particularly thedeficient real-time capability of the Ethernet protocol, however, allowsonly limited usage in automation technology. In controlling machines, itis necessary that there be a cyclical processing of the control taskwithout fluctuations, i.e., with only slight deviations from the desiredcycle time in the range of a few microseconds, with a reaction to thecontrol request in a predictable response time.

Real-time capability and fast reaction time as required in automationtechnology have only a subordinate importance, however, in the standarddata-processing applications for which Ethernet communication is usuallyemployed. It is true that Ethernet communications methods are known forreal-time transfer of data for video and audio data transmission. Therequirements on reaction times are not very critical for suchapplications, however, because small fluctuations can readily becompensated for with suitable data buffers in the workstations. Inbidirectional communication as well, for instance in Internet telephonyor online gaming, real-time capability and reaction time play only aminor role.

In order to make the applications mentioned above possible in thecontext of Ethernet communications, methods have been developed toprioritize individual Ethernet frames. Two methods are primarily used inthis regard. In order to achieve a certain real-time capability withshort reaction times, the Ethernet data telegrams to be transmitted areclassified into various priority categories, with the data packetshaving the highest priority being sent first. Alternatively, methods areused in which the priority of the data is added to the Ethernet datapacket itself in the form of additional information. Based on thisadditional information, later nodes in the network can then detect thosedata packets that have been given a higher priority and give thempreferred processing.

The two Ethernet methods above, however, do not meet the higherrequirements for real-time capability, i.e., the processing of datasynchronously with its generation without detectable delay, and reactiontimes that are necessary in automation technology. In particular, thereis the problem that, even with an optimal assignment of priorities tothe Ethernet data packets, a lower-priority Ethernet telegram currentlybeing transmitted is still transmitted in full when a new,higher-priority data packet arrives. The newly arriving, high-prioritypacket is then delayed by the transmission time of the lower-prioritydata packet, thus up to about 1500 bytes for an Ethernet data packet.This can lead to a time delay of up to about 150 μsec, so that therequirements of hard real-time applications with cycle times of around50 μsec and reaction times of at most 10 μsec cannot be met.

The problem of the invention is to provide a method for operating alocal communications network and an interface unit for linking a node tosuch a local communications network with which real-time andnon-real-time applications can be run in parallel in a simple manner.

WO 00/03521 discloses a real-time implementation in an Ethernet, inwhich the controller ensures that real-time data is transmitted beforenon-real-time data. SHARROCK, S.M. ET AL.: “A CSMA/CD-BASED, INTEGRATEDVOICE/DATA PROTOCOL WITH DYNAMIC CHANNEL ALLOCATION,” COMPUTER NETWORKSAND ISDN SYSTEMS, NORTH HOLLAND PUBLISHING, AMSTERDAM, NL, Vol. 18, No.1, Nov. 24, 1998, pp. 1-18, describes a transmission method in whichvoice data and normal data are separated in an Ethernet application. Inthis case, the voice data has priority over the normal data. U.S. Pat.No. 5,654,969 discloses the option of designing a transmission cyclesuch that it is possible to distinguish between two data types, one datatype having transmission priority. EP-A-1 111 846 describes a real-timesystem in which real-time data is transmitted first in a transmissioncycle, and then other data is transmitted.

This problem is solved by a method and a node according to the recitedclaims. Preferred refinements are specified in the dependent claims.

According to the invention, data transfer is performed cyclically anddeterministically in a communications network with several nodes thatare connected to one another by way of a communications link, with datafor real-time applications being handled on a prioritized basis, so thatall data for real-time applications is passed on first in a transmissioncycle and, in the time remaining until the next transmission cycle, datafor non-real-time applications is then transmitted.

The data transmission method according to the invention for a local areanetwork permits parallel usage of the communications network forreal-time and non-real-time applications. In particular, it is assuredthat the protocols according to the invention for local area networks,which represent the data link layer in the OSI model, also satisfy therequirements of real-time capability and reaction time for machinecontrol tasks. In order to meet the communications requirements of areal-time system, data transmission is done under complete control ofthe real-time system, with real-time data communication beingprioritized over the remaining data communication, e.g., for errordiagnosis, which is initiated by the operating system of the node. Alldata for non-real-time applications is treated on principle as beinglower-priority and is transmitted only when data transmission forreal-time data packets has already terminated. With the aid of theprioritization technique of the invention for real-time data withsimultaneous performance of a cyclical and deterministic datatransmission, it is assured that non-real-time capable accesses areexecuted only after real-time capable accesses and thus do not obstructreal-time data traffic.

According to a preferred embodiment, a transmission process is carriedout in such a manner that the data for real-time applications is firsttransmitted in a transmission cycle, and then the time remaining untilthe next transmission cycle is calculated so that the remaining time canbe used for data transmission for non-real-time applications. In thatway it is assured that data packets from the real-time system alwaysfinds a free transmission line when their turn comes. Data packets fornon-real-time applications such as the operating system are sent onlythereafter, in the gaps between two transmission cycles, if theappropriate amount of time remains. It is preferred to transmit the datain packets such that, if the time remaining after transmitting the datafor real-time applications exceeds the time span required fortransmitting a data packet for non-real-time applications, the datapacket in question is interim-stored and preferably set with the nexttransmission cycle. This procedure permits simple priority control ofthe transmitting operation of real-time applications and non-real-timeapplications.

According to an additional preferred embodiment, the data received in areception cycle is analyzed in a transmission process in order todetermine which of the received data is data for real-time applicationsand which is data for non-real-time applications, with the received datafor real-time applications being processed in the ensuing receptioncycle. This procedure makes it possible to filter out all real-timerelevant data packets without regard to when or in what order theyarrive. In that way it is assured that real-time relevant information isavailable in complete form for the real-time applications to be run.

It is additionally preferred to process the filtered-out received datafor non-real-time applications in a process independent of the real-timeapplications. The passing of data packets with data that is notreal-time relevant to the operating system outside of the real-timecontext permits a high data transfer rate with simultaneous simpleimplementation of the reception process.

According to another preferred embodiment, transmission, reception andprocessing for the data of the real-time applications and the data ofthe non-real-time applications are executed in parallel, with thereceived data being evaluated in a first step for processing the data,the real-time applications being run with the detected real-time data ina second step, and with the real-time data to be transmitted beingturned over in a third step. This procedure permits high transmissionperformance with complete real-time capability and thus guarantees thecommunications requirement for fast machine control. It is preferred inthis case to design the transmission and reception cycle in full duplexoperation such that the cycle period is fixed, but the transmissioncycle is delayed by a constant time span with respect to the receptioncycle corresponding to the first and second processing steps in whichthe data is analyzed and the real-time applications are run. Thisprocedure assures simple and fast full duplex operation withtrouble-free real-time communication.

The invention will be explained further on the basis of the appendeddrawings. Shown are:

FIG. 1, possible network topologies for a local area network;

FIG. 2, a possible connection of a node to a network;

FIG. 3, a conventional design of a network system with a separateEthernet controller for non-real-time applications and a field bussystem for real-time applications;

FIG. 4, a driver according to the invention for parallel running ofreal-time applications and non-real-time applications on an Ethernetcontroller;

FIG. 5, a transmission process according to the invention for real-timedata packets and non-real-time data packets; and

FIG. 6, a full duplex operation according to the invention for paralleltransmission, reception and processing of real-time and non-real-timedata packets.

With a communications network, it is possible in a simple manner toexchange data and resources between workstations, generally computers ormachines, also called nodes below, and to use them jointly. The Ethernetconcept is the most widespread communications standard in local areanetworks (LAN). Ethernet is based on a LAN structure in which aplurality of nodes are connected to one another via a sharedtransmission medium, the Ethernet concept taking on the encapsulation ofthe data to be transmitted in data packets, referred to as datatelegrams below, with a predetermined format. Ethernet consists of threedomains, namely, the transmission medium and the network interfaces,i.e., the hardware, the set of protocols that control access to thetransmission medium, and the Ethernet packet format. Ethernetfundamentally represents a bus network, in which arbitrary bustopologies can be used, as shown in FIG. 1.

FIG. 1 a shows another additional network topology for an Ethernet. Herethe nodes 1 are connected via point-to-point connections 2 to a centralswitching station 3, known as a switcher. FIG. 1 b represents a bussystem as a possible network topology. Here all nodes 1 are connected toone another via a transmission line 2. FIG. 1 c represents anotherEthernet network topology in the from of a tree network, which is acombination of the network systems above, which are connected by way ofswitching centers 4, known as hubs, inserted between the networksystems.

FIG. 2 shows a possible connection of a node 1 in a network topologywith point-to-point connections. In Ethernet the access to thetransmission medium 2 is generally accomplished by way of a coupler unit10, known as a transceiver, which is generally placed directly on anetwork adapter card together with an Ethernet controller 12. Ethernetcoupler 10 is connected via an interface 11 and Ethernet controller 12.Alternatively, the Ethernet controller can also be integrated into theEthernet controller. The Ethernet controller performs the encoding ofthe data to be transmitted and the decoding of the received data. Allcontrol measures necessary for the operation of the Ethernet are alsomanaged by Ethernet controller 12, i.e., the Ethernet controller carriesout the management and the encapsulation of the data. Alongside thislink management, the Ethernet controller 12 also serves as the interfaceto the data station, the node, in which the data is then furtherprocessed.

Ethernet data transmission usually takes place with the aid of networkprotocol such that data transmission is only carried out if the networkis calm. In addition, a collision avoidance mechanism is provided. AnEthernet packet can contain about 1500 bytes, the data beingencapsulated by means of header and trailer information that indicatesthe initial label, the target and source address, the type of datapacket and the mechanism for error recognition.

The operating systems of the nodes involved in the network communicationgenerally have a stratified software structure in order to separateprotocol-specific processing from telegram-specific andhardware-specific processing. It is thereby possible to use differentcommunications protocols for the Ethernet standard without having tomake modifications to the hardware-specific driver in each case. At thesame time, there is also the possibility of modifying the hardwarewithin the Ethernet standard without having to make protocol-specificmodification to the software. The communications protocol used candetermine the Ethernet controller at which an Ethernet telegram is sent.The telegrams received by the Ethernet controller are in turn madeavailable to all protocols of the operating system in the node, with theprotocols deciding whether they then process the telegram.

Ethernet has established itself particularly as the communicationsstandard for network systems in office communications, since standardhardware components and standard software components can be used andhigh data transfer rates are possible. For this reason, it is alsodesirable to be able to use the Ethernet standard in an industrialenvironment. The essential problem in this regard is the insufficientreal-time capability, so that for automation tasks the network systemsfor carrying out communication tasks that are not time-critical and thereal-time applications for machine control are conventionally separated,as shown in FIG. 3. For real-time applications, communications networkswith independent controller subassemblies, known as field buscontrollers, are generally provided in the workstations in order to beable to carry out time-critical control tasks. With such field bussystems for real-time applications, it has conventionally been possibleto achieve cycle times of 50 μs for machine control with acceptablejitter times, i.e., deviations of 10 μs from the desired cycle time.

To also be able to use local area networks for non-time-criticalstandard applications, especially those conforming to the Ethernetstandard, as a genuinely real-time capable data transfer network forcarrying out control tasks, the hardware-specific and/orsoftware-specific driver of conventional Ethernet controllers isreplaced by an Ethernet driver according to the invention that has beenenhanced for real-time operation, as shown in FIG. 4. This Ethernetcontroller according to the invention enables the parallel usage of thecommunications network for transmitting data for real-time applicationsand data for non-real-time applications. The data transmission isperformed cyclically and deterministically, the data for real-timeapplications being treated with priority, so that in a transmissioncycle all real-time data is first transferred and, in the time thatremains until the next transmission cycle, the data for non-real-timeapplications is transferred. All the data, collected in the form oftelegrams, for non-real-time applications, particularly those generatedby the operating system of the node assigned to the Ethernet controller,is treated as having lower priority and is subordinated to the real-timesystem. The Ethernet controller according to the invention communicateswith the real-time system and is responsible for the real-time capabletransmission and reception of the Ethernet telegrams. To allow theparallel running of standard applications, the Ethernet controlleraccording to the invention reports itself to the operating system of thenode as a standard Ethernet driver, to which in principle allcommunications protocols of the operating system are available. All dataof the operating system is handled by the Ethernet controller of theinvention with lower priority and sent only after a check by thereal-time system. All received real-time telegrams are assessed by thereal-time system and then passed on to the operating system ifappropriate.

The Ethernet controller according to the invention is thus completelyunder the control of the real-time system, so that non-real-timeaccesses are prevented or shifted to non-real-time critical timesections. The prioritized transmission of real-time and standardtelegrams is also done in the manner shown in FIG. 5. In thetransmission process, it is assured in a transmission cycle with the aidof the Ethernet controller according to the invention that the data forthe real-time application is transmitted completely, and only then isthe data for the non-real-time application transferred. This cyclicaland deterministic transmission process assures that pending real-timetelegrams are transmitted without delay. Simultaneously, the length ofthe pending real-time telegrams is added up to determine thetransmission period for a known data rate. After all real-time telegramshave been transmitted the time that remains until the transmission cycleis calculated. In this remaining time, the available telegrams withnon-real-time applications [sic; data] which are to be transmitted bythe operating system and are stored in a buffer, preferably a FIFOqueue, are transmitted. The transmission period required fortransmitting these data telegrams with non non-real-time applications isagain taken into consideration. If a telegram with non-real-time datacannot be transmitted in the time remaining until the next transmissioncycle, then it remains in FIFO storage and is transmitted only after thetransmission of the real-time telegrams in the next transmission cycle.

In the transmission process, the data received in a reception cycle isanalyzed with the aid of the Ethernet controller to determine which ofthe data received is data for real-time applications and which of thedata received is data for non-real-time applications, with the receiveddata for real-time applications then being processed at the start of thenext real-time [cycle]. The data for non-real-time applications, on theother hand, is processed in a process independent of the real-timeapplication.

The preferred procedure here is that the received Ethernet telegrams arestored in the order of reception by the Ethernet controller according tothe invention, preferably in the node's memory. The Ethernet controlleris set such that it does not initiate any interrupts during reception,so that all received telegrams are processed only at the start of thenext real-time cycle. In this process, the real-time system goes throughall received telegrams and then analyzes the telegrams relevant to thereal-time system. All received real-time relevant data is thus availableat the start of the real-time cycle. All telegrams with data of noreal-time relevance, on the other hand, are marked as read and passed onto the operating system outside the real-time context. In a processindependent of the real-time application, the list of marked receivedtelegrams can then be processed by the operating system and itsprotocols. The real-time telegrams processed by the real-time system,however, are not passed on to the operating system as a rule. Such atransfer is done only for debugging purposes.

Moreover, it is preferable, for use of Ethernet, for real-time andnon-real-time applications to be performed in full duplex mode, i.e.,with the possibility of a parallel transmission, reception andprocessing of data for real-time applications and non-real-timeapplications. A full-duplex operation according to the invention isshown in FIG. 6. Several successive real-time cycles are shown there,with the time sequence of the processing by the central processing unit(CPU) in the node being illustrated for each, as well as the sequence oftransmission and reception processes of real-time telegrams and standardtelegrams with non-real-time data. In step 1, the received telegramsfrom the previous transmission cycle are analyzed at the start of eachreal-time cycle. In step 2, the actual automation task is performed inreal time on the basis of the analyzed real-time data. In step 3, thepending real-time telegrams are turned over to the Ethernet controllerby the central processing unit. Here the real-time relevant telegramsare always transmitted immediately and then—if present and if sufficienttime remains—the telegrams with operating system data that is notreal-time relevant. The transmission process is always delayed relativeto the beginning of a real-time cycle by a fixed time span thatcorresponds to he time period for the first and second processing stepsof the CPU. The reception process, on the other hand, is preferablystarted simultaneously with or shortly after the start of the real-timecycle.

By virtue of the expansion of the Ethernet concept according to theinvention, it is possible to use local networks in parallel for standardapplications and real-time applications.

1. A method for transmitting data for real-time applications andnon-real-time applications in a communications network with severalnodes that are connected to one another via a communication path,wherein the data transmission between the nodes takes place in a cyclicand deterministic fashion and data for real-time applications haspriority over other data such that all data for real-time applicationsis transmitted first during a transmission operation and data fornon-real-time applications is subsequently transmitted in the time thatremains until the next transmission operation starts, the methodcomprising the steps of: at least one node receiving, processing andsending data for real-time applications in parallel during a real-timecycle by: executing a first processing step, wherein data received in aprevious real-time cycle from another node via the communication path isanalyzed to determine which received data are intended for real-timeapplications and which received data are intended for non-real-timeapplications; executing a second processing step, wherein real-timeapplications are executed; and executing a third processing step,wherein data for real-time applications to be transmitted to anothernode is sent via the communication path.
 2. The method according toclaim 1, wherein, in the third processing step, the data for real-timeapplications is completely sent during the transmission operation, andwherein the third processing step further comprises calculating the timeremaining until the next transmission operation starts, in order tosubsequently send data for non-real-time applications in the remainingtime.
 3. The method according to claim 2, wherein the data istransmitted in the form of data packets and wherein, when the timeremaining after the sending of data for real-time applications exceedsthe transmission time required to send a data packet for non-real-timeapplications, the third processing step further comprises storing thedata packet for non-real-time applications in the interim and sendingthe stored data packet preferentially during the next transmissionoperation.
 4. The method according to claim 3, wherein the data fornon-real-time applications is processed independently of the data forreal-time applications.
 5. The method according to claim 1, wherein thedata for non-real-time applications is processed independently of thedata for real-time applications.
 6. The method according to claim 1,wherein the duration of the transmission operation and a receptionoperation corresponds to that of the real-time cycle, and wherein thetransmission operation is delayed relative to the reception operation bya constant period of time that corresponds to the period of time for thefirst and the second processing steps.
 7. The method according to claim6, wherein the reception operation is started simultaneously with orshortly after the start of the real-time cycle.
 8. A node configured tocarry out a parallel transmission, reception and processing of data forreal-time applications and data for non-real-time applications, the nodecomprising: an interface unit connecting the node to a communicationsnetwork including several nodes connected to one another via acommunications path, the interface unit configured to cyclically anddeterministically transmit data between the node and the communicationsnetwork in order to handle data for real-time applications with priorityover data for non-real-time applications, such that all data forreal-time applications is transmitted first during a transmissionoperation and data for non-real-time applications is subsequentlytransmitted in the time that remains until the next transmissionoperation starts; and a processing unit (CPU) operatively coupled to theinterface unit, wherein in a real-time cycle, the processing unit:evaluates data received from another node via the communication path inthe respectively preceding real-time cycle in a first processing step ofthe real-time cycle in order to determine received data intended forreal-time applications and received data intended for non-real-timeapplications; executes real-time applications in a second processingstep; and transfers data for real-time applications to be transmitted toanother node to the interface unit in a third processing step.
 9. Thenode according to claim 8, wherein the interface unit completely sendsthe data for real-time applications during the transmission operationand calculates the time remaining until the next transmission operationin order to send data from non-real-time applications in the remainingtime.
 10. The node according to claim 9, wherein the data is transmittedin the form of data packets, and wherein the interface unit includes abuffer that stores a data packet for non-real-time applications in theinterim if the time remaining after the sending of data for real-timeapplications is exceeded by the transmission time required to send thedata packet for non-real-time applications, with the stored data packetpreferentially sent during the next transmission operation.
 11. The nodeaccording to claim 10, wherein the processing unit processes thereceived data for real-time applications and the received data fornon-real-time applications independently of one another.
 12. The nodeaccording to claim 8, wherein the processing unit processes the receiveddata for real-time applications and the received data for non-real-timeapplications independently of one another.
 13. The node according toclaim 8, wherein the data is transmitted in the form of data packets,and wherein the interface unit includes a buffer that stores a datapacket for non-real-time applications in the interim if the timeremaining after the sending of data for real-time applications isexceeded by the transmission time required to send the data packet fornon-real-time applications, with the stored data packet preferentiallysent during the next transmission operation.